#include<iostream>
#include<vector>
#include<set>

using namespace std;

int first_duplicate(vector<int> &array) {
  set<int> tempSet {};
  for(int i : array) {
    if (tempSet.count(i)) {
      return i;
    } else {
      tempSet.insert(i);
    }
  }
  return -1;
}

int main(int argc, char const *argv[]) {
  vector<int> array = {1, 2, 4, 4, 5, 2, 6};
  cout << first_duplicate(array) << endl;
  return 0;
}
